/*
 * TileFactory.cpp
 *
 *  Created on: Feb 17, 2010
 *      Author: mathieu
 */

#include "TileFactory.h"
namespace Model{
TileFactory::TileFactory()
{

}

Tile* TileFactory::createTile(TileMobility mobility, TileType type)
{
	if(mobility==MOBILE){
		switch(type){
		case tTile : return new MobileTile(false, true, true, true, midday);
		case lineTile : return new MobileTile(false, true, false, true, midday);
		case crossTile : return new MobileTile(true, true, true, true, midday);
		case bentTile : return new MobileTile(false, true, true, false, midday);
		}
	}
	else{
		switch(type){
		case tTile : return new FixedTile(false, true, true, true, midday);
		case lineTile : return new FixedTile(false, true, false, true, midday);
		case crossTile : return new FixedTile(true, true, true, true, midday);
		case bentTile : return new FixedTile(false, true, true, false, midday);
		}
	}
}

TileFactory::~TileFactory() {
	// TODO Auto-generated destructor stub
}
}
